#include <cstdio>
#include <cstring>
#include <iostream>
#include <algorithm>
#include <map>
using namespace std;
map<int,int>mp;
const int maxn = 1e5+10;
int a[maxn];
int b[maxn];
int main()
{
	int t;
	scanf("%d",&t);
	while(t--)
	{
		int n;
		int cnt0=0;
		int cnt1=0;
		int maxx=-0x3f3f3f3f;
		scanf("%d",&n);
		for(int i = 0;i<n;i++)
		{
			scanf("%d",&a[i]);
		}
		for(int i = 0;i<n;i++)
		{
			scanf("%d",&b[i]);
		}
	
		int xx=1;
		for(int i = 0;i<n-1;i++)
		{
			if(a[i]>a[i+1])
			{
				xx=0;
			}
		}
		if(xx==1)
		{
			puts("Yes");
			continue;
		}
		for(int i = 0;i<n;i++)
		{
			if(b[i]!=0)cnt1++;
			else cnt0++;
		}
		if(cnt1&&cnt0)
		{
			puts("Yes");
		}
		else puts("No");
	}
	return 0;
}

